﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;

namespace Manicure.Entity
{
    [Serializable()]
    [XmlRoot(ElementName = "Resultado", Namespace = "")]
    public class EResultadoBase
    {
        #region Campos e Propriedades
        public string Msg { get; set; }
        public string MsgErro { get; set; }
        public bool Sucesso { get; set; }
        [XmlIgnoreAttribute]
        public Exception Erro{get;set;}
        public string Solicitacao{get; set;}
        public string Script{get;set;}
        public string Retorno { get; set; }
        #endregion

        #region Contrutores
        /// <summary>
        /// Inicializa o objeto
        /// </summary>
        public EResultadoBase()
        {
            Msg = string.Empty;
            MsgErro = string.Empty;
            Sucesso = false;
            Retorno = string.Empty;
            Solicitacao = string.Empty;
            Script = string.Empty;
            Erro = new Exception();
        }
        #endregion
    }

    /// <summary>
    /// Esta classe representa o resultado padrão para métodos
    /// </summary>
    [Serializable()]
    [XmlRoot(ElementName = "Resultado", Namespace = "")]
    public class EResultado<Entidade> : EResultadoBase
    {
        #region Campos
        public List<Entidade> eResultado { get; set; }
        #endregion

        #region Construtores
        public EResultado()
        {
            eResultado = new List<Entidade>();
        }

        #endregion
    }
}
